home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Magnum One
/
Magnum One (Mid-American Digital) (Disc Manufacturing).iso
/
d12
/
norpt.arc
/
NORPT.ASM
< prev
next >
Wrap
Assembly Source File
|
1989-08-27
|
9KB
|
442 lines
;
;
; Thomas Nofsinger
; cccc ASM 290
; 4/17/89
;
; PROGRAM LISTING FOR NORPT.COM
;
; THIS PROGRAM WILL TURN OFF THE REPEAT FUNCTION OF THE KEYBOARD,
; AND STAY MEMORY RESIDENT. IT IS CODED FOR MY HARDWARE AND MAY NOT
; WORK ON ALL CLONES AND REAL PC'S.
;
CSEG SEGMENT
ASSUME CS:CSEG ;NO STACK SEG!
ORG 100H ;A .COM file
BEGIN:
MOV BH,0 ;COPYRIGHT NOTICE WITHOUT IO.LIB
MOV BL,15
MOV AL,'N'
MOV CX,1
MOV AH,14
INT 10h
MOV BH,0 ;COPYRIGHT NOTICE WITHOUT IO.LIB
MOV BL,15
MOV AL,'O'
MOV CX,1
MOV AH,14
INT 10h
MOV BH,0 ;COPYRIGHT NOTICE WITHOUT IO.LIB
MOV BL,15
MOV AL,'R'
MOV CX,1
MOV AH,14
INT 10h
MOV BH,0 ;COPYRIGHT NOTICE WITHOUT IO.LIB
MOV BL,15
MOV AL,'P'
MOV CX,1
MOV AH,14
INT 10h
MOV BH,0 ;COPYRIGHT NOTICE WITHOUT IO.LIB
MOV BL,15
MOV AL,'T'
MOV CX,1
MOV AH,14
INT 10h
MOV BH,0 ;COPYRIGHT NOTICE WITHOUT IO.LIB
MOV BL,15
MOV AL,' '
MOV CX,1
MOV AH,14
INT 10h
MOV BH,0 ;COPYRIGHT NOTICE WITHOUT IO.LIB
MOV BL,15
MOV AL,'I'
MOV CX,1
MOV AH,14
INT 10h
MOV BH,0 ;COPYRIGHT NOTICE WITHOUT IO.LIB
MOV BL,15
MOV AL,'N'
MOV CX,1
MOV AH,14
INT 10h
MOV BH,0 ;COPYRIGHT NOTICE WITHOUT IO.LIB
MOV BL,15
MOV AL,'S'
MOV CX,1
MOV AH,14
INT 10h
MOV BH,0 ;COPYRIGHT NOTICE WITHOUT IO.LIB
MOV BL,15
MOV AL,'T'
MOV CX,1
MOV AH,14
INT 10h
MOV BH,0 ;COPYRIGHT NOTICE WITHOUT IO.LIB
MOV BL,15
MOV AL,'A'
MOV CX,1
MOV AH,14
INT 10h
MOV BH,0 ;COPYRIGHT NOTICE WITHOUT IO.LIB
MOV BL,15
MOV AL,'L'
MOV CX,1
MOV AH,14
INT 10h
MOV BH,0 ;COPYRIGHT NOTICE WITHOUT IO.LIB
MOV BL,15
MOV AL,'L'
MOV CX,1
MOV AH,14
INT 10h
MOV BH,0 ;COPYRIGHT NOTICE WITHOUT IO.LIB
MOV BL,15
MOV AL,'E'
MOV CX,1
MOV AH,14
INT 10h
MOV BH,0 ;COPYRIGHT NOTICE WITHOUT IO.LIB
MOV BL,15
MOV AL,'D'
MOV CX,1
MOV AH,14
INT 10H
MOV BH,0 ;COPYRIGHT NOTICE WITHOUT IO.LIB
MOV BL,15
MOV AL,' '
MOV CX,1
MOV AH,14
INT 10h
MOV BH,0 ;COPYRIGHT NOTICE WITHOUT IO.LIB
MOV BL,15
MOV AL,' '
MOV CX,1
MOV AH,14
INT 10h
MOV BH,0 ;COPYRIGHT NOTICE WITHOUT IO.LIB
MOV BL,15
MOV AL,' '
MOV CX,1
MOV AH,14
INT 10h
INT 10h
MOV BH,0 ;COPYRIGHT NOTICE WITHOUT IO.LIB
MOV BL,15
MOV AL,'C'
MOV CX,1
MOV AH,14
INT 10h
MOV BH,0 ;COPYRIGHT NOTICE WITHOUT IO.LIB
MOV BL,15
MOV AL,'O'
MOV CX,1
MOV AH,14
INT 10h
MOV BH,0 ;COPYRIGHT NOTICE WITHOUT IO.LIB
MOV BL,15
MOV AL,'P'
MOV CX,1
MOV AH,14
INT 10h
MOV BH,0 ;COPYRIGHT NOTICE WITHOUT IO.LIB
MOV BL,15
MOV AL,'Y'
MOV CX,1
MOV AH,14
INT 10h
MOV BH,0 ;COPYRIGHT NOTICE WITHOUT IO.LIB
MOV BL,15
MOV AL,'R'
MOV CX,1
MOV AH,14
INT 10h
MOV BH,0 ;COPYRIGHT NOTICE WITHOUT IO.LIB
MOV BL,15
MOV AL,'I'
MOV CX,1
MOV AH,14
INT 10h
MOV BH,0 ;COPYRIGHT NOTICE WITHOUT IO.LIB
MOV BL,15
MOV AL,'G'
MOV CX,1
MOV AH,14
INT 10h
MOV BH,0 ;COPYRIGHT NOTICE WITHOUT IO.LIB
MOV BL,15
MOV AL,'H'
MOV CX,1
MOV AH,14
INT 10h
MOV BH,0 ;COPYRIGHT NOTICE WITHOUT IO.LIB
MOV BL,15
MOV AL,'T'
MOV CX,1
MOV AH,14
INT 10h
MOV BH,0 ;COPYRIGHT NOTICE WITHOUT IO.LIB
MOV BL,15
MOV AL,' '
MOV CX,1
MOV AH,14
INT 10h
MOV BH,0 ;COPYRIGHT NOTICE WITHOUT IO.LIB
MOV BL,15
MOV AL,'1'
MOV CX,1
MOV AH,14
INT 10h
MOV BH,0 ;COPYRIGHT NOTICE WITHOUT IO.LIB
MOV BL,15
MOV AL,'9'
MOV CX,1
MOV AH,14
INT 10h
MOV BH,0 ;COPYRIGHT NOTICE WITHOUT IO.LIB
MOV BL,15
MOV AL,'8'
MOV CX,1
MOV AH,14
INT 10h
MOV BH,0 ;COPYRIGHT NOTICE WITHOUT IO.LIB
MOV BL,15
MOV AL,'9'
MOV CX,1
MOV AH,14
INT 10h
MOV BH,0 ;COPYRIGHT NOTICE WITHOUT IO.LIB
MOV BL,15
MOV AL,' '
MOV CX,1
MOV AH,14
INT 10h
MOV BH,0 ;COPYRIGHT NOTICE WITHOUT IO.LIB
MOV BL,15
MOV AL,'N'
MOV CX,1
MOV AH,14
INT 10h
MOV BH,0 ;COPYRIGHT NOTICE WITHOUT IO.LIB
MOV BL,15
MOV AL,'O'
MOV CX,1
MOV AH,14
INT 10h
MOV BH,0 ;COPYRIGHT NOTICE WITHOUT IO.LIB
MOV BL,15
MOV AL,'F'
MOV CX,1
MOV AH,14
INT 10h
MOV BH,0 ;COPYRIGHT NOTICE WITHOUT IO.LIB
MOV BL,15
MOV AL,'S'
MOV CX,1
MOV AH,14
INT 10h
MOV BH,0 ;COPYRIGHT NOTICE WITHOUT IO.LIB
MOV BL,15
MOV AL,'I'
MOV CX,1
MOV AH,14
INT 10h
MOV BH,0 ;COPYRIGHT NOTICE WITHOUT IO.LIB
MOV BL,15
MOV AL,'N'
MOV CX,1
MOV AH,14
INT 10h
MOV BH,0 ;COPYRIGHT NOTICE WITHOUT IO.LIB
MOV BL,15
MOV AL,'G'
MOV CX,1
MOV AH,14
INT 10h
MOV BH,0 ;COPYRIGHT NOTICE WITHOUT IO.LIB
MOV BL,15
MOV AL,'E'
MOV CX,1
MOV AH,14
INT 10h
MOV BH,0 ;COPYRIGHT NOTICE WITHOUT IO.LIB
MOV BL,15
MOV AL,'R'
MOV CX,1
MOV AH,14
INT 10h
MOV BH,0 ;COPYRIGHT NOTICE WITHOUT IO.LIB
MOV BL,15
MOV AL,','
MOV CX,1
MOV AH,14
INT 10h
MOV BH,0 ;COPYRIGHT NOTICE WITHOUT IO.LIB
MOV BL,15
MOV AL,' '
MOV CX,1
MOV AH,14
INT 10h
MOV BH,0 ;COPYRIGHT NOTICE WITHOUT IO.LIB
MOV BL,15
MOV AL,'T'
MOV CX,1
MOV AH,14
INT 10h
MOV BH,0 ;COPYRIGHT NOTICE WITHOUT IO.LIB
MOV BL,15
MOV AL,'H'
MOV CX,1
MOV AH,14
INT 10h
MOV BH,0 ;COPYRIGHT NOTICE WITHOUT IO.LIB
MOV BL,15
MOV AL,'O'
MOV CX,1
MOV AH,14
INT 10h
MOV BH,0 ;COPYRIGHT NOTICE WITHOUT IO.LIB
MOV BL,15
MOV AL,'M'
MOV CX,1
MOV AH,14
INT 10h
MOV BH,0 ;COPYRIGHT NOTICE WITHOUT IO.LIB
MOV BL,15
MOV AL,'A'
MOV CX,1
MOV AH,14
INT 10h
MOV BH,0 ;COPYRIGHT NOTICE WITHOUT IO.LIB
MOV BL,15
MOV AL,'S'
MOV CX,1
MOV AH,14
INT 10h
JMP START
BIOS_INT_9 DD ?
LASTKEY DB ?
INT9_TASK PROC FAR
ASSUME DS:nothing
PUSH AX
IN AL,60h ;READ PORT A OF 8255 FOR KEYS
TEST AL,80h ;TEST FOR BREAK KEY
JNZ KEY_IN ;IT IS A BREAK KEY - TAKE IT IN
CMP AL,LASTKEY
JNZ KEY_IN ;KEY TO PROCESS
IN AL,61h ;FEED PORT B ON THE 8255 A HIGH BIT 7
OR AL,80h ;TO ACK DATA
OUT 61H,AL
AND AL,7Fh ;CLEAR BIT 7 (LOW)
OUT 61h,AL
MOV AL,20h ;HARDWARE INTERRUPT DONE
OUT 20h,AL ;SIGNAL TO THE 8255
POP AX
IRET ;DUPED KEY STROKE --> BIT BUCKET
KEY_IN:
MOV LASTKEY,AL ;SAVE KEY FOR NEXT CYCLE
PUSHF
CALL BIOS_INT_9 ;PASS TO BIOS TO PROCESS THE KEY
POP AX
IRET
End_Resident EQU $
INT9_TASK ENDP
START PROC NEAR
ASSUME DS:CSEG
MOV LASTKEY,80h ;intialize LASTKEY
MOV AL,9 ;READ AND RECORD BIOS INT 9 VECTOR
MOV AH,35h
INT 21h
MOV WORD PTR BIOS_INT_9,BX
MOV WORD PTR BIOS_INT_9[2],ES
MOV DX,offset INT9_TASK ;POINT INT 9 VECTOR TO THIS TASK
MOV AL,9
MOV AH,25h
INT 21h
LEA DX,End_Resident ;TSR
INT 27h
START ENDP
CSEG ENDS
END BEGIN